package com.ssy.lingxi.contract.service;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.contract.model.vo.common.response.ContractPayPlanVO;
import com.ssy.lingxi.contract.model.vo.manage.request.ContractPayPlanUpdateVO;

import java.util.List;

/**
 * 合同付款计划接口定义
 * @author 伍将
 * @date 2021/2/7
 * @version 2.0.0
 */
public interface IContractPayPlanService {

    /**
     * 根据合同id查询支付计划列表
     * @author 伍将
     * @date 2021/2/7
     * @param contractId: 合同id
     * @return 操作结果
     **/
    Wrapper<List<ContractPayPlanVO>> getPayPlanList(Long contractId);

    /**
     * 保存付款计划
     * @author 伍将
     * @date 2021/2/25
     * @param contractId: 合同id
     * @param payPlanList: 付款计划保存信息
     * @return 操作结果
     **/
    Wrapper<Void> save(Long contractId, List<ContractPayPlanUpdateVO> payPlanList);

    /**
     * 根据合同id删除付款计划
     * @author 伍将
     * @date 2021/3/3
     * @param contractId: 合同id
     * @return 操作结果
     **/
    Wrapper<Void> deleteByContractId(Long contractId);
}
